home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / telecomm / unitmacs.lzh / UNIMAC.TXT < prev   
Text File  |  1990-02-19  |  17KB  |  339 lines

  1. In addition to the sample macros you will find in recent Uniterm 
  2. documents in versions (2.0d and later), I have included here 
  3. three macros I have used for a long time to do auto-dialing on 
  4. BBS's.  Before I removed phone numbers, system prompts and 
  5. responses, and login names and passwords, these macros and all 
  6. their features were known to work well and perform all the 
  7. claimed functions.  Unfortunately, when this information is 
  8. removed, the macros will no longer work.  Also, by their nature 
  9. each person's system, modem, desired features, etc. will be 
  10. different.  Within the constraints of the maximum 4k file size of 
  11. these macros for Uniterm 2.0d and later, I have included all the 
  12. comments I could to explain what I was doing.  I'm sorry if some 
  13. of these comments appear quite cryptic.
  14.  
  15. To use these macros, you must put them in a word processor that 
  16. will write them to an ASCII file with no control codes.  Make 
  17. sure you name the files the same names you intend to use in the 
  18. Auto-dialer, Function Keys, or other macro you call them from.
  19. When you see "loadsetup" near the beginning of each file, you are 
  20. to enter in the blank space following the name of the setup file 
  21. you want to use when this BBS is called.  Inspect closely the 
  22. codes sent to the modem to control its features.  Although my 
  23. modem is an Atari Hayes compatible, these will most likely have 
  24. to be changed or removed for your equipment and are included as 
  25. examples.  When these macros are called, they must be in the 
  26. default directory that Uniterm is run from.  You can use the 
  27. command: path('C:')  in the auto-load macro or:
  28. %path('C:') on a function key to change the default directory to 
  29. a "C" ramdisk (as I do) for example.  If you do this, make sure 
  30. all other files such as setup files are there also or you will 
  31. have to switch directories back and forth at the proper times.
  32.  
  33. I will also apologize here for the convoluted code.  I'm not a 
  34. programer although I enjoyed mastering this editor without much 
  35. help from the documentation and poor examples (parts of which 
  36. don't appear to work).  You will see some labels out of order
  37. and probable to expert eyes, some wasted code.  I have added 
  38. features to these macros as they grew on me but didn't always 
  39. renumber lines.  If nothing else, these should get you further 
  40. down the learning curve than the original documentation got me.
  41. I played with these for 2 years before I got Uniterm's editor to 
  42. work properly for me.
  43.  
  44. The three files here:
  45.  
  46. BBSDIAL.MAC
  47. This is a generic auto-login with re-dial that is prompted for 
  48. the user to enter the number of times re-dials will be attempted 
  49. after the first dial fails.  This is the simplest of the three 
  50. files.
  51.  
  52. Listed here is a copy of the file as reference.  I may include 
  53. additional comments in brackets "[ ]" here that are not permitted 
  54. in the macros that you can run.  I have also filled some of the 
  55. blank entry lines with X's or examples that will not work if you 
  56. try to run the macros by removing them from this file.
  57. >>>>>>>>>>>>>>>>>>>>>>>START EXAMPLE ONE>>>>>>>>>>>>>>>>>>>>>>>
  58. # This is a general purpose BBS auto-dial.  Edit modem codes, login, and setup
  59. # files for your purposes.  Remember...macro must not exceed 4k, speed of code
  60. # transmission is determined by transfer rate in ASCII transfer menu.
  61. # Control-C can abort between commands.
  62. me('Loading Uniterm set up File') w(10) 
  63. loadsetup('uniterm.set') w(10) [THIS IS THE DEFAULT SETUP]
  64. # Following are modem codes:
  65. se('atz\r\n') w(10) se('ats7=17\r\n') w(10) se('atx4\r\n') 
  66. # This macro will redial w/prompt for retry number. 
  67. me('Dialing MY FAVORITE BBS.  Will re-dial w/prompt for retries') w(10) 
  68. se('atdt9990000\r\n') w(05) set(1,1) set(2,0) 
  69. # Following is looking for first message from online to respond to. 
  70. if(!get('CONNECT',21)) ju(1) [IF YOUR MODEM DISPLAYS THIS 
  71. MESSAGE UPON CONFIRMING CONNECTION. IF NOT, YOU MAY WANT TO USE 
  72. THE FIRST SYSTEM PROMPT YOU GET]
  73. :7 
  74. # Put log-on codes here. Put prompt text in "get", response in "send".
  75.   ge('HIT RETURN',10) w(05) se('\R\N') 
  76.   ge('YOUR NAME',10) me('YOU MIGHT HAVE TO WAIT HERE') w(05) 
  77. se('MARY OR TOM') ge('Enter ID Number',15) w(20) se('9999999\r\n') 
  78.   ge('Enter Your Password:',15) w(05) se('ZXZXZ\r\n') 
  79. #Start history and exit. [WHEN THE LAST LOGIN PROMPT IS 
  80. SATISFIED, THE SCREEN HISTORY IS TURNED ON AND THE MACRO ENDS
  81. YOU CAN CONTINUE AT THIS POINT WITH YOU FIRST MENU SELECTIONS AND 
  82. AUTO DOWNLOADS OR MESSAGE BASE SCANS HERE.  I ALWAYS DO THIS 
  83. MANUALLY BECAUSE I NEVER DO IT THE SAME]
  84.   history(1) me('History recording is ON') w(20) exit(0) 
  85. :1 
  86. # 1st fail and re-dial message. [THIS IN INVOKED WHEN "CONNECT" 
  87. FAILS]
  88.   ec('\r\n') ec('Failed!\r\n') w(05)
  89.   if(!input('Retries?  Enter #1-?+Ret. or Cancel')) ec('Quit!\n') exit(0) 
  90. # Check to see if $T is "0". Yes=quit, No=go on. 
  91.   if(com($T,'0')) ec('Quit.  FINISHED!\r\n') exit(0) 
  92. # Use # in $T to set re-try counter. 
  93.   set(1,.$T) 
  94. # place number in "Wait" command 3 seconds less than re-dial timeout. 
  95.   me('Re-dial in 30 seconds.') w(270) [I DO THIS BECAUSE OF MY 3 
  96. SECOND ALT-C ABORT MESSAGE] (*)
  97. :2 
  98. # Re-dial count, display, and check follows: @1= retry countdown @2=retry# 
  99. # "$T"=current retry display count. 
  100. # Display total remaining user re-tries on next line: 
  101.   ec("@1) ec(' re-dial remains:\r\n') w(05) 
  102.   set(1,add(@1,-1)) set(2,add(@2,1)) con('RETRY# ',"@2') ec($T) ec('\r\n') 
  103.   me('Re-dialing MY FAVORITE BBS. Cntrl-C aborts. NOW!') w(30) (*)
  104.   me('Dialing...') send('atdt       \r\n') [PUT THE SAME NUMBER 
  105. HERE AS ABOVE]
  106. # Timeout for re-dial and success/fail.  "ju(4)"=fail 
  107.   if(!ge('CONNECT',21)) ec('\r\n') ju(4) 
  108. # If success, will return to log-in code near beginning. 
  109.   ju(7) 
  110. :4 
  111. # Look for count in @1 for "0". If not, re-dial. 
  112. # If so, prompt for more retries. 
  113.   if(com("@1','0')) ca(5) 
  114. # Failed and redial message for all until last prompt. 
  115.   ec('Failed!\r\n') w(10) se('\n') me('Re-dial in 30 sec.') w(270) ju(2) 
  116. :5 
  117. # Prompt to try again or stop and end macro. 
  118.   ec('Failed!  More retries?\r\n') w(05) se('\n') 
  119. # User clicks "OK" will loop re-dial routine. 
  120. # Prompt for re-try #. "set" for variable int. @1 to # entered by user. 
  121. # If "cancel is clicked, message, and end. 
  122.   if(input('Retries failed. Try again? Enter #-
  123. RET.')) ju(6) [THIS IS WERE THE USE GETS TO TELL THE MACRO HOW 
  124. MANY TIMES TO RE-DIAL THE BBS OR CANCEL AND END THE MACRO]
  125.   ec('ALL RETRIES FAILED! FINISHED.\r\n') w(10) exit(0) 
  126. :6 
  127. # Check to see if $T is "0". Yes=quit, No=go on. 
  128.   if(com($T,'0')) ec('Quit.  FINISHED!\r\n') exit(0) 
  129. # Make "set" for variable "@1" user number. 
  130.   w(05) set(1,.$T) ju(2)
  131. [REMEMBER THIS MACRO WILL NOT RUN AS IS]
  132. >>>>>>>>>>>>>>>>>>>>>>>END EXAMPLE ONE<<<<<<<<<<<<<<<<<<<<<<<<<
  133.  
  134. GENIEX.MAC
  135.  
  136. This is the macro I use to dial and log on to GEnie with Uniterm.
  137. Less editing will be needed here as my prompts will be similar to 
  138. yours.  Remember you can use function keys to call macros to do 
  139. the complicated message, file, and mail tasks on GEnie.  I most 
  140. often use the function keys to send the one letter or word 
  141. commands I use most often.  I have one function key that calls a 
  142. macro that displays a section of character faces for me to select 
  143. from to send at frivolous moments.
  144. >>>>>>>>>>>>>>>>>>>>>>START EXAMPLE TWO<<<<<<<<<<<<<<<<<<<<<<<<<< 
  145.  
  146. #This macro will load a customized GEnie set-up file and dial w/login.
  147. #Be sure control codes sent to modem are correct for your equipment.
  148.  
  149. me('Setting modem echo to OFF,timeout to 17 sec.') w(20) 
  150. se('atz\r\n') w(10) se('ate0\r\n') w(10) se('ats7=17\r\n') w(10) 
  151. me('Loading GEnie set-up file') w(05) Loadsetup('genie.set') 
  152. #This macro will redial w/prompt for retry number. 
  153. me('Dialing GEnie BBS.  Will re-dial w/prompt for retries') w(20) 
  154. #The following code contains the phone number and sets re-dial countdown:
  155. se('atdt       \r\n') w(05) set(1,1) set(2,0) 
  156. #Following looking for first message from online to respond to: 
  157. if(!get('CONNECT',20)) ca(1) 
  158. #Put log-on codes here. 
  159. W(10) se('h') w(05) se('h') w(05) se('h\